var path = require("path");
var classificaDao = require(path.join(process.cwd(), "dao/ClassificaDao"));

/**
 * 获取所有文章
 * @param  {[type]}   conditions 查询条件
 * 查询条件统一规范
 * conditions
	{
		"query" : 关键词查询,
		"pagenum" : 页数,
		"pagesize" : 每页长度
	}
 * @param  {Function} cb         回调函数
 */
module.exports.getAllArticles = function (conditions, cb) {
	if (!conditions) return err

	// 通过关键词获取文章数量
	classificaDao.countByKey(conditions["query"], function (err, count) {
		key = conditions["query"];

		classificaDao.findByKey(key, function (err, classificas) {
			var retClassifica = [];
			for (idx in classificas) {
				var classifica = classificas[idx];
				retClassifica.push({
					"classifica_id": classifica.classifica_id,
					"classifica_name": classifica.classifica_name
				});
			}
			var resultDta = {};
			resultDta["total"] = count;
			resultDta["classificas"] = retClassifica;
			cb(err, resultDta);
		});
	});
}

/**
 * 通过文章 ID 获取文章信息
 * 
 * @param  {[type]}   id 文章 ID
 * @param  {Function} cb 回调函数
 */
module.exports.getClassifica = function (id, cb) {
	classificaDao.show(id, function (err, classifica) {
		if (err) return cb(err);
		if (!classifica) return cb("该分类不存在");
		cb(
			null,
			{
                "classifica_id": classifica.classifica_id,
                "classifica_name": classifica.classifica_name
			}
		);
	});
}

module.exports.createdClassifica = function (params, cb) {
	classificaDao.exists(params.classifica_name, function (err, isExists) {
		if (err) return err
		if (isExists) cb('此分类已存在')
		classificaDao.create({
            "classifica_name": params.classifica_name
		},
			function (err, classifica) {
				console.log(err);
				console.log('classifica.tag' + classifica.tag);
				if (err) return cb("发布失败");
				result = {
					"classifica_name": classifica.classifica_name
				};
				cb(null, result);
			})
	})
}
module.exports.getAllClassificas = function (conditions, cb) {
	if (!conditions) return err

	// 通过关键词获取文章数量
	classificaDao.countByKey(conditions["query"], function (err, count) {
		key = conditions["query"];

		classificaDao.findByKey(key, function (err, classificas) {
			var retClassifica = [];
			for (idx in classificas) {
				var classifica = classificas[idx];
				retClassifica.push({
					"classifica_id": classifica.classifica_id,
					"classifica_name": classifica.classifica_name
				});
			}
			var resultDta = {};
			resultDta["total"] = count;
			resultDta["classificas"] = retClassifica;
			cb(err, resultDta);
		});
	});
}